home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 May / EnigmA AMIGA RUN 18 (1997)(G.R. Edizioni)(IT)[!][issue 1997-05][EAR-CD II].iso / recent2 / cnet_wof.lha / InstallWOF < prev    next >
Text File  |  1997-04-17  |  18KB  |  436 lines

  1. /**************************************************************************\
  2.       $VER: WOF Install, v6.51 (17-Apr-97) by Dotoran of Frontiers!
  3. \**************************************************************************/
  4. options results;signal on SYNTAX;signal on ERROR;signal on IOERR
  5. a=sourceline(2);parse var a . ", "ver" ("vdate")" .;a=random(,,time("s"))
  6. tr=transmit;se=sendstring;gc=getchar;gu=getuser;gs=getscratch;mg=maygetchar
  7. a="rexxsupport.library";if ~show("l",a) then if ~addlib(a,0,-30) then exit
  8. parse source . . fp .;df=left(fp,max(lastpos('/',fp),lastpos(':',fp)))
  9.  
  10. if left(upper(fp),3)~="RAM" then do;se "Reloading to RAM:..."
  11.   call setclip('wofinstall',df);tr "#4copy "df"InstallWOF RAM:}"
  12.   tr "#0ram:InstallWOF}";exit;end;else df=getclip('wofinstall')
  13.  
  14. changewhere "InstallWOF";key=" <KEY>g1";gu 23;port=result;lha="C:LHA"
  15. mview="SYS:UTILITIES/MULTIVIEW";guide="SYS:UTILITIES/AMIGAGUIDE"
  16. /* <gu 2407202;oc=result> is the Old Default System Color */
  17. se "f1c7";gu 2407202;oc=result;setobject "7";putuser 2407202
  18.  
  19.  
  20. CHECKARC:
  21.   if ~exists(df"wof.lha") then do
  22.     se "n1   To correctly install and/or update Wheel of Fortune, this "
  23.     se "Install script MUST be located in the SAME path as the included "
  24.     se "`wof.lha' archive. Presently, I could NOT find `"df"wof.lha' on "
  25.     se "your system. Please remedy this situation, then try running this "
  26.     se "script again!"key;exit;end
  27.  
  28. CHECKLHA:
  29.   if ~exists(lha) then do
  30.     se "n1   This installation procedure makes use of your LHA program, "
  31.     tr "however I could not locate it at `"lha"'...n1"
  32.     se "Please enter full PATH/FILENAME to your `LHA' program below:"
  33.     se "n1>L1305640#"lha"}I16388 40}";gu 70;lha=result;signal CHECKLHA
  34.   end
  35.  
  36. CHECKGUIDE:
  37.   if ~exists(mview) & ~exists(guide) then do
  38.     se "n1   This installation procedure makes use of either the MultiView "
  39.     se "or the AmigaGuide file for automatic guide viewing at the end of the "
  40.     se "script, however I could NOT locate either of these programs in your "
  41.     tr "`SYS:UTILITIES/' directory...n1"
  42.     se "Please enter full PATH/FILENAME to one of these files below:"
  43.     se "n1>L1305640#"mview"}I16388 40}";gu 70;a=result
  44.     if find(upper(a),"MULTI")>0 then mview=a
  45.     if find(upper(a),"AMIGA")>0 then guide=a;signal CHECKGUIDE
  46.   end
  47.  
  48. view=exists(mview)*1;if view=0 then view=exists(guide)*2
  49.  
  50. tr 'f1@4n1The Wheel of Fortune, v6.51 Install/Update Script:n1'
  51.  
  52. se '   Hello and welcome to Wheel of Fortune! This script allows you to '
  53. se 'do one of the following. Please choose the option which best suits '
  54. tr 'your present needs:n1'
  55.  
  56. tr '1. Update  WOF, v6.46 (or v6.46a) to v6.50...n1'
  57. tr '2. Install WOF, v6.50 for the first time.....n1'
  58.  
  59. se 'Use which option? [ABORT]: ';gc;a=result
  60. if a<1 | a>2 | datatype(a,'n')=0 then do;tr 'ABORT';signal QUIT;end
  61.  
  62. if a=1 then do;tr 'Update';signal UPDATE;end
  63. if a=2 then do;tr 'Install';signal INSTALL;end
  64.  
  65. UPDATE:
  66.   se "n1   You have just selected to update The Wheel of Fortune, v6.46(a) "
  67.   se "to the new Wheel of Fortune, v6.50. Is this correct? [Yes]: "
  68.   gc;a=result;if a="N" then do;tr "No.";signal CHECKLHA;end;else tr "Yes!"
  69. UPDATE1:
  70.   se "n1   Before we begin this update, I need to know WHERE you placed "
  71.   se "the 6.46(a) version of Wheel of Fortune. Please specify it's location "
  72.   tr "below: (Clear the text and press ENTER to Abort)n1"
  73.   se "Enter the path in which you stored Wheel of Fortune, v6.46(a) below:"
  74.   se "n1>L1305640#DOORS:}I16388 40}";gu 70;path=result
  75.   if path="" then do ; tr "Abort" ; signal QUIT ; end
  76.   if ~exists(path"WoFortune") | word(statef(path"WoFortune"),1)~="DIR" then do
  77.     se "n1   I'm sorry, but I could NOT locate the `"path"WoFortune/' "
  78.     tr "directory you specified above. Please check your typing."key
  79.     signal UPDATE1
  80.   end
  81.  
  82.   if index(":/",right(path,1))=0 then path=path"/"
  83.   opath=path"WoFortune/"
  84.  
  85.   if ~exists(opath"Config.Data") then do
  86.     se "n1   Hmmm, I can't seem to find the `"opath"Config.Data' file. Are "
  87.     tr "you SURE you're using Wheel of Fortune, v6.46(a) presently?"key
  88.     signal UPDATE1
  89.   end
  90.  
  91.   call open(f1,opath"Config.Data","r");a=readln(f1);call close(f1)
  92.   if substr(word(a,2),2)<6.46 then do
  93.     se "n1   You are presently using The Wheel of Fortune, "word(a,2)", "
  94.     se "however you NEED to be using v6.46(or v6.46a) before you'll "
  95.     se "be able to update to The Wheel of Fortune, v6.50. You could also "
  96.     tr "opt to install for the first time. The choice is yours!";signal QUIT
  97.   end
  98.  
  99.   tr "n1Present Wheel of Fortune Setup:n1"
  100.   asc=exists(opath"Game.ASC");ans=exists(opath"Game.ANS")
  101.   ibm=exists(opath"Game.IBM");reg=exists(opath"Reg.Key")
  102.   se "   Installed Asc Version: "left(word("No Yes",asc+1),10)
  103.   tr "Installed Ans Version: "word("No Yes",ans+1)"n1"
  104.   se "   Installed IBM Version: "left(word("No Yes",ibm+1),10)
  105.   tr "Installed Reg Version: "word("No Yes",reg+1)
  106.  
  107.   if asc+ans+ibm<3 then do
  108.     se "n1   I notice you are not using ALL the modules currently. Do you "
  109.     se "wish to only update the modules you are currently using? [No]: "
  110.     gc;a=result;if a="Y" then do;tr "Yes!";update=1;end
  111.     else do;tr "No.";update=2;end
  112.   end
  113.   else update=1
  114.  
  115.   se "n1   In order to be absolutely sure this update is successful, I'll "
  116.   se "rename your existing `"opath"' directory as `"strip(opath,'t','/')
  117.   se "646/'. In the event this update does NOT work for you, you'll be "
  118.   se "able to revert back to the earlier version until a fix can be found."
  119.  
  120.   if exists(strip(opath,'t','/')"646") then
  121.     address command "rename "strip(opath,'t','/')"646 "strip(opath,'t','/')"646(old)"
  122.   address command "rename "strip(opath,'t','/')" "strip(opath,'t','/')"646"
  123.  
  124.   se key"n1";call UNPACKWOF;opath=strip(opath,'t','/')"646/";signal UPDATE_ENTRY
  125.  
  126. UPDATE2:
  127.   se "   Various internal directory changes have been made in this new "
  128.   se "version of Wheel of Fortune. A new `Texts/' directory now exists in "
  129.   se "the `"path"' directory that will house all the textual data files "
  130.   tr "used in the game. Copying over your current files now..."key
  131.  
  132.   se "n1Bankers..."
  133.     if exists(opath"Bankers") then 
  134.       tr "#4copy "opath"Bankers "path"Texts/Bankers}ok"
  135.       else tr "missing."
  136.   se "BMillionaires..."
  137.     if exists(opath"BMillionaires") then
  138.       tr "#4copy "opath"BMillionaires "path"Texts/BMillionaires}ok"
  139.       else tr "missing."
  140.   se "BWinner..."
  141.     if exists(opath"BWinner") then
  142.       tr "#4copy "opath"BWinner "path"Texts/BWinner}ok"
  143.       else tr "missing."
  144.   se "BWinners..."
  145.     if exists(opath"BWinners") then
  146.       tr "#4copy "opath"BWinners "path"Texts/BWinners}ok"
  147.       else tr "missing."
  148.   se "LastPlayer..."
  149.     if exists(opath"LastPlayer") then
  150.       tr "#4copy "opath"LastPlayer "path"Texts/LastPlayer}ok"
  151.       else tr "missing."
  152.   se "LastReset..."
  153.     if exists(opath"LastReset") then
  154.       tr "#4copy "opath"LastReset "path"Texts/LastReset}ok"
  155.       else tr "missing."
  156.   lv="ASC ANS IBM" ; lt="OLD NEW"
  157.   do i=1 to 3
  158.     do j=1 to 2
  159.       ln="Log."word(lt,j)"."word(lv,i) ; se ln"..."
  160.       if exists(opath||ln) then tr "#4copy "opath||ln" "path"Texts/"ln"}ok"
  161.       else tr "missing."
  162.     end j
  163.   end i
  164.   se "Millionaires..."
  165.     if exists(opath"Millionaires") then
  166.       tr "#4copy "opath"Millionaires "path"Texts/Millionaires}ok"
  167.       else tr "missing."
  168.   se "NewPuz..."
  169.     if exists(opath"NewPuz") then
  170.       tr "#4copy "opath"NewPuz "path"Texts/NewPuz}ok"
  171.       else tr "missing."
  172.   se "Stats..."
  173.     if exists(opath"Stats") then
  174.       tr "#4copy "opath"Stats "path"Texts/Stats}ok"
  175.       else tr "missing."
  176.   se "Winner..."
  177.     if exists(opath"Winner") then
  178.       tr "#4copy "opath"Winner "path"Texts/Winner}ok"
  179.       else tr "missing."
  180.   se "Winners..."
  181.     if exists(opath"Winners") then
  182.       tr "#4copy "opath"Winners "path"Texts/Winners}ok"
  183.       else tr "missing."
  184.  
  185.   se "n1   The `GameData', `Players', and `Config.Data' files have all "
  186.   se "received additions in this version as well. Also, the `Config.Data' "
  187.   se "file has been renamed `!Settings' and sits in the `"path"' directory, "
  188.   se "instead of inside the `"path"Texts/' directory. Converting these "
  189.   tr "files now..."key
  190.  
  191.   se "n1GameData..."
  192.     call open(f1,opath"GameData","r")
  193.       do i=1 to 7 ; gd.i=readln(f1) ; end i
  194.     call close(f1)
  195.     parse var gd.6 v1'|'v2'|'v3'|'j ; gd.6=v1'|N|nioo|'v2'|'v3'|x'
  196.     call open(f1,path"Texts/GameData","w")
  197.       do i=1 to 7 ; call writeln(f1,gd.i) ; end i
  198.     call close(f1)
  199.   tr "converted."
  200.  
  201.   se "n1Players..."
  202.     call open(f1,opath"Players","r")
  203.       do i=1 until eof(f1) ; pl.i=readln(f1) ; end i ; tot=i-1
  204.     call close(f1)
  205.     call open(f1,path"Texts/Players","w")
  206.       do i=1 to tot
  207.         call writeln(f1,strip(pl.i,'t','x')"0|x")
  208.       end i
  209.     call close(f1)
  210.   tr "converted."
  211.  
  212.   se "n1Config.Data..."
  213.     call open(f1,opath"Config.Data","r")
  214.       do i=1 to 13 ; cfg.i=readln(f1) ; end i
  215.     call close(f1)
  216.     cfg.1="; v6.50 February 10, 1997"
  217.     cfg.12=strip(cfg.12,'t','x')"3|1|3|x"
  218.     call open(f1,path"!Settings","w")
  219.       do i=1 to 13 ; call writeln(f1,cfg.i) ; end i
  220.     call close(f1)
  221.   tr "converted."
  222.  
  223.   se "n1   Now comparing your original `PuzData' file to the one included "
  224.   tr "in this new version.n1"
  225.  
  226.   call open(f1,opath"PuzData","r")
  227.     opuz=strip(readch(f1,5),'t','00'x)
  228.   call close(f1)
  229.   call open(f1,path"PuzData","r")
  230.     npuz=strip(readch(f1,5),'t','00'x)
  231.   call close(f1)
  232.  
  233.   tr "Total puzzles in your original PuzData file: "opuz"n1"
  234.   tr "Total puzzles in v6.50's *NEW* PuzData file: "npuz
  235.  
  236.   se "n1   Numerous duplicate puzzles were found in the initial release "
  237.   se "of the `PuzData' file, so if the NEW file contains FEWER puzzles "
  238.   se "than your original, this is the reason.n2Do you want to use the "
  239.   se "*NEW* version `PuzData' file? [Yes]: ";gc;a=result
  240.   if a="N" then do;tr "No."
  241.     se "n1Renaming the newer file to `PuzData"npuz"' now..."
  242.     address command "rename "path"PuzData "path"PuzData"npuz ; tr 'ok'
  243.     se "n1Copying your original `PuzData' file into place..."
  244.     address command "copy "opath"PuzData "path"PuzData" ; tr 'ok'
  245.   end ; else do ; tr "Yes!"
  246.     se "n1Copying your original `PuzData' file into the updated `"path"' "
  247.     se "directory, renaming it as `PuzData"opuz"'..."
  248.     address command "copy "opath"PuzData "path"PuzData"opuz ; tr 'ok'
  249.   end
  250.  
  251.   call CLEANUP
  252.  
  253.   se "n1   Your Wheel of Fortune, v6.46(a) has been successfully updated "
  254.   se "to the newer 6.50 version. You'll now want to read the updated "
  255.   se "`README.GUIDE' file to touch base on the newest enhancements and "
  256.   tr "changes that have been made."
  257.  
  258.   if view=0 then do
  259.     se "n1   I could not locate either MultiView or AmigaGuide in your "
  260.     se "SYS:UTILITIES/ directory. Auto-viewing of the readme guide could "
  261.     se "not be performed. Please refer to the `README.GUIDE', which can be "
  262.     se "located in the `"path"Guides/' directory to find out what's new in "
  263.     se "The Wheel of Fortune, v6.50!" ; signal QUIT
  264.   end
  265.  
  266.   if view=1 then tr "#4multiview "path"guides/README.guide pubscreen CNETSCREEN"port"}"
  267.   if view=2 then tr "#4amigaguide "path"guides/README.guide pubscreen CNETSCREEN"port"}"
  268.   tr "The Wheel of Fortune, v6.50 update script terminates now..."
  269.  signal QUIT
  270.  
  271. INSTALL:
  272.   se "n1   You have just selected to install The Wheel of Fortune, v6.50 "
  273.   se "for the first time. Is this correct? [Yes]: " ; update=0
  274.   gc;a=result;if a="N" then do;tr "No.";signal CHECKLHA;end;else tr "Yes!"
  275.   call UNPACKWOF
  276. INSTALL1:
  277.   se "   Alright, we now need to select a location somewhere on your "
  278.   se "system to store Wheel of Fortune's files. A `WoFortune' directory "
  279.   se "will be created in the path you specify below: (Clear the text and "
  280.   tr "press ENTER to Abort)n1"
  281.   se "Enter the path you'd like to install Wheel of Fortune, v6.50 into:"
  282.   se "n1>L1305640#DOORS:}I16388 40}";gu 70;path=result
  283.   if path="" then do ; tr "Abort" ; signal QUIT ; end
  284.   if ~exists(path) | word(statef(path),1)~="DIR" then do
  285.     se "I'm sorry, but either this is NOT a directory, or the directory you "
  286.     se "specified: `"path"' could not be located."key;signal INSTALL1
  287.   end
  288.  
  289.   if index(word(statef(path),4),"W")=0 then do
  290.     se "n1The path you have selected: `"path"' is write protected, and "
  291.     tr "can NOT presently be used to install The Wheel of Fortune!"key
  292.     signal INSTALL1
  293.   end
  294.  
  295.   if exists(path"WoFortune/") & word(statef(path"WoFortune"),1)="DIR" then do
  296.     se "n1There is already a `WoFortune/' directory located in `"path"'. "
  297.     se "Perhaps you meant to UPDATE, instead of installing for the first "
  298.     se "time. If you'd like, I can RENAME the existing directory, then "
  299.     se "continue the installation procedure. Rename and continue with the "
  300.     se "installation now? [Yes]: ";gc;a=result
  301.     if a="N" then do;tr "No, installation aborting.";signal QUIT;end
  302.     se "Yes, Renaming...";zz=rename(path"WoFortune",path"WoFortune(old)")
  303.     tr "h6ed!"
  304.    end
  305.  
  306.   if exists(path"WoFortune") then do
  307.     se "n1There appears to be a FILE named `WoFortune' located in the path "
  308.     se "`"path"' you designated above. Rename and continue with the "
  309.     se "installation now? [Yes]: ";gc;a=result
  310.     if a="N" then do;tr "No, installation aborting.";signal QUIT;end
  311.     se "Yes, Renaming...";zz=rename(path"WoFortune",path"WoFortune(old)")
  312.     tr "h6ed!"
  313.   end
  314.  
  315. UPDATE_ENTRY:
  316.   se "n1Now creating `"path"WoFortune/'..."
  317.   do until zz=1;zz=makedir(path"WoFortune");end
  318.   tr word("Error OK",zz+1);path=path"WoFortune/"
  319.  
  320.   se "n1Now creating `"path"Texts/'..."
  321.   do until zz=1;zz=makedir(path"Texts");end
  322.   tr word("Error OK",zz+1)  
  323.  
  324.   se "n1Now creating `"path"Graphics/'..."
  325.   do until zz=1;zz=makedir(path"Graphics");end
  326.   tr word("Error OK",zz+1)
  327.  
  328.   tr "n1Please hold; unpacking `"df"support.lha'...n1"
  329.   tr "#4"lha" x -m "df"support.lha "path"}"
  330.  
  331. if update=1 then signal UPDATE_ENTRY2
  332.  
  333.   tr "There are three versions of The Wheel of Fortune available:n1"
  334.   tr "   Ascii - Uses NO COLOR and NO IBM 8-bit Graphics"
  335.   tr "    Ansi - Uses 16 Colors, but NO IBM 8-bit Graphics"
  336.   tr "IBM-Ansi - Uses 16 Colors AND IBM 8-Bit Graphicsn1"
  337.   tr "You can choose to install one, two, or all three versions.n1"
  338.   se "Install the    Ascii version? [Yes]: ";gc;a=result
  339.     if a="N" then do;tr "No";asc=0;end;else do;tr "Yes";asc=1;end
  340.   se "Install the     Ansi version? [Yes]: ";gc;a=result
  341.     if a="N" then do;tr "No";ans=0;end;else do;tr "Yes";ans=1;end
  342.   se "Install the IBM-Ansi version? [Yes]: ";gc;a=result
  343.     if a="N" then do;tr "No";ibm=0;end;else do;tr "Yes";ibm=1;end
  344.  
  345.   if asc+ans+ibm=0 then do
  346.     se "n1You chose NOT to install ANY of the modules. Would you like to "
  347.     se "abort the installation now, or install all three modules? (Press "
  348.     se "ENTER to Abort; any other key to fully install) [ABORT]: "
  349.     gc;a=result
  350.     if a~=d2c(13) then do;tr "Install";asc=1;ans=1;ibm=1;end
  351.     else do;tr "Abortn1"
  352.       tr "Please hold; cleaning up..."
  353.       if update=0 then se "#4delete "path"#? all}"
  354.       if update=0 then se "#4delete "left(path,length(path)-1)"}"
  355.       se "#4delete "df"docs.lha}"
  356.       se "#4delete "df"games.lha}"
  357.       se "#4delete "df"gra_ans.lha}"
  358.       se "#4delete "df"gra_asc.lha}"
  359.       se "#4delete "df"gra_ibm.lha}"
  360.       se "#4delete "df"support.lha}"
  361.       tr "Finished!";signal QUIT
  362.     end
  363.   end
  364.  
  365. UPDATE_ENTRY2: ; if update=2 then update=1
  366.  
  367.   if asc then do ; tr "n1Installing the Ascii version:n1"
  368.     tr "#4"lha" x -m "df"games.lha Game.ASC "path"}"
  369.     tr "#4"lha" x -m "df"docs.lha Docs.ASC "path"Texts/}"
  370.     tr "#4"lha" x -m "df"gra_asc.lha "path"Graphics/}"
  371.   end
  372.  
  373.   if ans then do ; tr "n1Installing the Ansi version:n1"
  374.     tr "#4"lha" x -m "df"games.lha Game.ANS "path"}"
  375.     tr "#4"lha" x -m "df"docs.lha Docs.ANS "path"Texts/}"
  376.     tr "#4"lha" x -m "df"gra_ans.lha "path"Graphics/}"
  377.   end
  378.  
  379.   if ibm then do ; tr "n1Installing the IBM-Ansi version:n1"
  380.     tr "#4"lha" x -m "df"games.lha Game.IBM "path"}"
  381.     tr "#4"lha" x -m "df"docs.lha Docs.IBM "path"Texts/}"
  382.     tr "#4"lha" x -m "df"gra_ibm.lha "path"Graphics/}"
  383.   end
  384.  
  385. if update=1 then signal UPDATE2
  386.  
  387.   call CLEANUP
  388.  
  389.   se "n1   The Wheel of Fortune has many different sysop definable options "
  390.   se "which you may want to set at a later date, however the setup file "
  391.   tr "will now be run to insure a complete installation by this script."key
  392.   tr "n1Running the Wheel of Fortune SetUp file...#0"path"Setup}"
  393.  
  394.   se "f1n3   The Wheel of Fortune, v6.50 has been successfully installed "
  395.   se "into your system. You'll now need to read the `README.GUIDE' to "
  396.   se "complete the installation by creating a CNet Event, adding and/or "
  397.   tr "modifying lines in BBSTEXT, and adding some commands to BBSMENU."
  398.  
  399.   if view=0 then do
  400.     se "n1   I could not locate either MultiView or AmigaGuide in your "
  401.     se "SYS:UTILITIES/ directory. Auto-viewing of the readme guide could "
  402.     se "not be performed. Please refer to the `README.GUIDE', which can be "
  403.     se "located in the `"path"Guides/' directory to find out how to complete "
  404.     se "the Wheel of Fortune installation!" ; signal QUIT
  405.   end
  406.  
  407.   if view=1 then tr "#4multiview "path"guides/README.guide pubscreen CNETSCREEN"port"}"
  408.   if view=2 then tr "#4amigaguide "path"guides/README.guide pubscreen CNETSCREEN"port"}"
  409.   tr "n1The Wheel of Fortune, v6.50 installation script terminates now..."
  410.  signal QUIT
  411.  
  412. UNPACKWOF:
  413.   tr "n1Please hold; unpacking `"df"wof.lha'...n1"
  414.   tr "#4"lha" x -m "df"wof.lha "df"}" ; return
  415.  
  416. QUIT: ; setobject oc ; putuser 2407202 ; exit
  417.  
  418. CLEANUP:
  419.   tr "n1Please hold; cleaning up..."
  420.     se "#4delete "df"docs.lha}#4delete "df"games.lha}"
  421.     se "#4delete "df"gra_ans.lha}#4delete "df"gra_asc.lha}"
  422.     se "#4delete "df"gra_ibm.lha}#4delete "df"support.lha}"
  423.     se "#4delete "df"wof.lha}#4delete "df"!Read_Me_First!}"
  424.     if df~="RAM:" then se "#4delete "df"InstallWOF}"
  425.     call setclip('installwof')
  426.   tr "Completed cleanup!"
  427.  return
  428.  
  429. SYNTAX:;ERROR:;IOERR:;e1="n1 Error: "rc" ("errortext(rc)")"
  430.   e2="  Line: "left(sigl,4)"File:";c="`"fp", "ver"'";e2=e2" "c;tr e1;tr e2
  431.   logentry e1;logentry e2;e=strip(translate(sourceline(sigl),"\{",""))
  432.   do while e~="";e3="Source: "left(e,37);tr e3;logentry e3;e=substr(e,38);end
  433.   bufferflush;signal QUIT
  434. /**************************************************************************\
  435. \****************************************** Frontiers BBS (716)/823-9892 **/
  436.